The United States has experienced an extraordinary expansion in the ownership and utilization of computers. Computers, once considered primarily the tools of scientists, can now be found in a substantial portion of the homes and businesses across the country. Though partial credit for the unprecedented growth in the utilization of computers is attributable to lower costs associated with manufacturing computers and related peripheral devices which has made such equipment affordable to a much larger segment of the public, the credit is equally, if not more, attributable to the enhanced versatility, ease in learning to use, and ease of using computers which is provided by the operating systems and applications software running on the now affordable computers.
It is therefore very important when designing an operating system, and more particularly a user interface for a computer system, to provide a high degree of user friendliness, which incorporates ease of learning and ease in using the computer system. Users appreciate a system which enables them to accomplish their computer related tasks with the least amount of obstacles and delays. A considerable number of the computer users/operators today base their like or dislike of a computer system upon the user interface's time and effort saving features as well as display features which enhance the interface's aesthetic appeal.
The Windows operating system and its series of menus and buttons has simplified the use of the computer system. The Windows operating system is unquestionably easier to learn than earlier operating systems. Even more importantly the Windows operating system enables a user to access a great number of computer resources from any given screen by selecting ones of the many menu items and control buttons.
Another concern of computer interface developers is the learnability of new interface features. One of the believed advantages of the newer mouse-type menu driven operating systems is the ease with which users learn how to invoke the various system commands. Much of the success in improving the usability of the operating systems is attributed to the large amount of visual information provided at each decision making step.
A known manner for presenting the commands and resources available to a user is the use of menus. Menus have been presented to the user in the form of menu bars presenting selections appropriate for a given window or container, pop-up menus presenting choices appropriate for an object, and tear off menus which are characterized by their persistence on the display screen even after a user has made a selection.
Many applications have become so complex that the set of choices provided to the user for an application by means of the menu bars, which are generally intended to cover all types of objects in all possible contexts, becomes unmanageable when all of the choices are presented at the same time. It is therefore desirable for a computer system to provide some mechanism for restricting the set of choices presented to a user.
Furthermore, in view of the complex user interfaces existing today providing the user with a large number of choices and many diverse manners to access the choices, it is important to provide the user with a robust user interface selection system for guaranteeing that the computer system executes commands according to the desires of the user. To this end, safeguards against inadvertent selections are extremely desirable. In a graphical user interface, the user tends to rely heavily upon visual prompts and therefore safeguards are most effectively implemented when they incorporate some visual aspect into the safeguard.
A noticeable trend in graphic user interfaces has been to increase the amount of information displayed on a display screen. Menus have become less manageable. Multiple selection modes increase the likelihood of user confusion. It is therefore desirable to counter the increased cluttering of the display screen by the menus provided by the present graphical user interfaces, and the resulting user confusion, by reducing the number of choices presented on the user interface at any given time and by presenting improved visual prompts to inform the user of the current state of the user interface. It is desirable to maintain or even enhance the ease with which computer resources are accessed by means of the graphical user interface.